<?php


namespace app\home\severs;


class PrintTemplateSevers extends Base
{
    /**
     * @return mixed
     * @autho:xiangzi
     * @auth true
     * @Date:2025/8/12
     * 销售合同
     */
    public static function createSalContractData()
    {
        //        主表数据
        $data=[
            'printName'=>'打印标题',
//            'invoiceSubjectName'=>'开票主体',
//            'titleType'=>'抬头类型',
//            'invoiceType'=>'发票类型',
            'pName'=>'客户名称',
            'orderNum'=>'订单号',
            'orderDate'=>'单据日期',
            'saleUnit'=>'销售单位',
            'taxStr'=>'税率',
            'payTypeName'=>'付款方式',
            'saleName'=>'采购人',
            'contactName'=>'联系人',
            'contactPhone'=>'联系电话',
            'saveName'=>'收货人',
            'savePhone'=>'收货电话',
            'khOrderNum'=>'客户订单号',
            'htRemark'=>'合同备注',
            'amountInWords'=>'金额大写',
        ];
        $baseTemp=[];
        foreach ($data as $k=>$v){
            $baseTemp[]=json_encode([
                'text'=>$v,
                'field'=>$k,
                'title' => "标题：{$v}，字段名：{$k}" ,
                'tid'   => 'leftModule.' . $k
            ],320);
        }
//
        $baseTemp=implode(',',$baseTemp);
       $res['baseTemp']=$baseTemp;
        //子表
        $detail=[
            'k'=>'序号',
            'brand'=>'品牌',
            'mdName'=>'品名',
            'buyCode'=>'订货号',
            'specs'=>'型号',
            'unit'=>'单位',
            'bjNum'=>'合同数量',
            'noTaxPrice'=>'未税单价',
            'bjPrice'=>'含税单价',
//            'bjMoney'=>'合同金额',
            'noTaxMoney'=>'未税总额',
            'taxMoney'=>'税额',
            'bjTime'=>'货期',
            'khlh'=>'客户料号',
            'proCode'=>'项目编码',
            'remark'=>'备注',
//            'saleContractOrderNum'=>'关联销售合同',
//            'amount'=>'开票金额',
//            'unBuyNum'=>'未采购数量',
        ];
        $detailTemp=[];
        foreach ($detail as $k=>$v){
            $detailTemp[]=json_encode([
                'name' => $k,
                'title' => '标题：'.$v.'#'.$k,
                'printElementType'=>[
                    'title' => '表格',
                    'type'  => 'tableCustom'

                ],
                'align'   => 'center',
                'width'   => 100,
                'checked' => true,
                'data'    => $k,],320);

        }
        $detailTemp=implode(',',$detailTemp);
        $detail1 = <<<EOT
{
	tid: 'leftModule.detail',
	title: '详情表',
	type: 'table',
	editable: true,
	columnDisplayEditable: true,	//列显示是否能编辑
	columnDisplayIndexEditable: true, //列顺序显示是否能编辑
	columnTitleEditable: true, //列标题是否能编辑
	columnResizable: true, //列宽是否能调整
	columnAlignEditable: true, //列对齐是否调整
	columns: [
		[$detailTemp]
	]
}
EOT;
        $res['detailTemp']=$detail1;

        return $res;
    }

    /**
     * @return string
     * @autho:xiangzi
     * @auth true
     * @Date:2025/8/12
     * 采购合同
     */


    public function crateInvoiceData()
    {
        $data=[
            'printName'=>'打印标题',
            'invoiceSubjectName'=>'开票主体',
            'titleType'=>'抬头类型',
            'invoiceType'=>'发票类型',
            'pName'=>'客户名称',
//            'orderNum'=>'订单号',
//            'pName'=>'供应商',
//            'orderDate'=>'单据日期',
//            'saleUnit'=>'销售单位',
//            'taxStr'=>'税率',
//            'payTypeName'=>'付款方式',
//            'saleName'=>'采购人',
//            'contactName'=>'联系人',
//            'contactPhone'=>'联系电话',
//            'saveName'=>'收货人',
//            'savePhone'=>'收货电话',
        ];
        $baseTemp=[];
        foreach ($data as $k=>$v){
            $baseTemp[]=json_encode([
                'text'=>$v,
                'field'=>$k,
                'title' => "标题：{$v}，字段名：{$k}" ,
                'tid'   => 'leftModule.' . $k
            ],320);
        }
//
        $baseTemp=implode(',',$baseTemp);
        $res['baseTemp']=$baseTemp;
        $detail=[
            'k'=>'序号',
            'brand'=>'品牌',
            'mdName'=>'品名',
            'buyCode'=>'订货号',
            'specs'=>'型号',
            'unit'=>'单位',
            'bjNum'=>'合同数量',
//            'noTaxPrice'=>'未税单价',
//            'bjPrice'=>'含税单价',
            'bjMoney'=>'合同金额',
//            'noTaxMoney'=>'未税总额',
//            'taxMoney'=>'税额',
//            'bjTime'=>'货期',
//            'khlh'=>'客户料号',
//            'proCode'=>'项目编码',
//            'remark'=>'备注',
            'saleContractOrderNum'=>'关联销售合同',
            'amount'=>'开票金额',
//            'unBuyNum'=>'未采购数量',
        ];
        $detailTemp=[];
        foreach ($detail as $k=>$v){
            $detailTemp[]=json_encode([
                'name' => $k,
                'title' => '标题：'.$v.'#'.$k,
                'printElementType'=>[
                    'title' => '表格',
                    'type'  => 'tableCustom'

                ],
                'align'   => 'center',
                'width'   => 100,
                'checked' => true,
                'data'    => $k,],320);

        }
        $detailTemp=implode(',',$detailTemp);
        $detail1 = <<<EOT
{
	tid: 'leftModule.detail',
	title: '详情表',
	type: 'table',
	editable: true,
	columnDisplayEditable: true,	//列显示是否能编辑
	columnDisplayIndexEditable: true, //列顺序显示是否能编辑
	columnTitleEditable: true, //列标题是否能编辑
	columnResizable: true, //列宽是否能调整
	columnAlignEditable: true, //列对齐是否调整
	columns: [
		[$detailTemp]
	]
}
EOT;
        $res['detailTemp']=$detail1;
        return $res;

    }
    public static function creatData()
    {
//        主表数据
        $data=[
            'printName'=>'打印标题',
            'invoiceSubjectName'=>'开票主体',
            'titleType'=>'抬头类型',
            'invoiceType'=>'发票类型',
            'pName'=>'客户名称',
//            'orderNum'=>'订单号',
//            'pName'=>'供应商',
//            'orderDate'=>'单据日期',
//            'saleUnit'=>'销售单位',
//            'taxStr'=>'税率',
//            'payTypeName'=>'付款方式',
//            'saleName'=>'采购人',
//            'contactName'=>'联系人',
//            'contactPhone'=>'联系电话',
//            'saveName'=>'收货人',
//            'savePhone'=>'收货电话',
        ];
        $baseTemp=[];
        foreach ($data as $k=>$v){
            $baseTemp[]=json_encode([
                'text'=>$v,
                'field'=>$k,
                'title' => "标题：{$v}，字段名：{$k}" ,
                'tid'   => 'leftModule.' . $k
            ],320);
        }
//
        $baseTemp=implode(',',$baseTemp);
        return $baseTemp;


    }

    public static function createMx()
    {
        //子表
        $detail=[
            'k'=>'序号',
            'brand'=>'品牌',
            'mdName'=>'品名',
            'buyCode'=>'订货号',
            'specs'=>'型号',
            'unit'=>'单位',
            'bjNum'=>'合同数量',
//            'noTaxPrice'=>'未税单价',
//            'bjPrice'=>'含税单价',
            'bjMoney'=>'合同金额',
//            'noTaxMoney'=>'未税总额',
//            'taxMoney'=>'税额',
//            'bjTime'=>'货期',
//            'khlh'=>'客户料号',
//            'proCode'=>'项目编码',
//            'remark'=>'备注',
            'saleContractOrderNum'=>'关联销售合同',
            'amount'=>'开票金额',
//            'unBuyNum'=>'未采购数量',
        ];
        $detailTemp=[];
        foreach ($detail as $k=>$v){
            $detailTemp[]=json_encode([
                'name' => $k,
                'title' => '标题：'.$v.'#'.$k,
                'printElementType'=>[
                    'title' => '表格',
                    'type'  => 'tableCustom'

                ],
                'align'   => 'center',
                'width'   => 100,
                'checked' => true,
                'data'    => $k,],320);

        }
        $detailTemp=implode(',',$detailTemp);
        $detail1 = <<<EOT
{
	tid: 'leftModule.detail',
	title: '详情表',
	type: 'table',
	editable: true,
	columnDisplayEditable: true,	//列显示是否能编辑
	columnDisplayIndexEditable: true, //列顺序显示是否能编辑
	columnTitleEditable: true, //列标题是否能编辑
	columnResizable: true, //列宽是否能调整
	columnAlignEditable: true, //列对齐是否调整
	columns: [
		[$detailTemp]
	]
}
EOT;
        return $detail1;
    }
}